Core Animation Profile Symbols Not Found

我们在迭代完一个版本之后,需要使用 Instruments 中的一些 Profile 来获取应用性能数据。

测试过程中,尽可能的还原用户真实的使用场景。 比如 应用的 target scheme应该为release,和渠道发布的保持一致。

Core Animation

我们使用Core Animation可以方便的看到 页面滚动时的帧率和cpu计算资源开销还能对应到工程具体方法代码。

但是,有时候我们使用这个工具会出现看不到正常的函数符号的情况。如:

这里的地址对应的方法都没有被符号化,我们找不到那些有问题的代码。

How to fix

在使用Core Animation Profile之前,你应该确认一下 Symbols -> Search paths for dSYMs这个路径下的dSYMs文件是否存在且是对应的。

开发iOS的同学,应该对dSYMs文件并不陌生。每次上传发布应用的时候,都需要archvie归档生成这个dSYMs文件。方便线上发生Crash的时候,可以对日志进行符号处理:可以看到对应崩溃的执行堆栈。

如果,没有找到 dSYMs文件的话,还得再确认工程构建配置中是否允许生成dSYMs文件。 在 Target - Build Setting->Debug Information Format 中将你现在对应的Target scheme设置为 DWARF with dSYM File

如此,这般配置之后,就可以看到正常的符号化之后的代码了。

另外,一些常用的设置项入口被挪到这里了: